home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / dev / gui / textfield.lha / Textfield / History < prev    next >
Text File  |  1995-06-23  |  14KB  |  355 lines

  1. ***************************************************************
  2. *                                                             *
  3. * This file contains the update notes on the textfield.gadget *
  4. *                                                             *
  5. ***************************************************************
  6.  
  7. Version 3.1
  8. -----------
  9.  
  10. NEW:
  11.  
  12. - For what it's worth, the gadget is now compiled with the final
  13.   SAS/C patch, 6.55.  That made it a touch larger.
  14.  
  15. - There is a bug in MUI, for version < 9 that doesn't allow
  16.   BOOPSI objects to be deleted if they are created inside of MUI,
  17.   and with the MUIA_Boopsi_Smart flag set to true.  See the
  18.   example code for how to fix the problem correctly.
  19.  
  20. - Renamed the amigaguide gadget docs to textfield_gc.guide.
  21.  
  22. - Renamed the debug gadget to textfield.gadget.db.
  23.  
  24. - I never mentioned it, but be aware that the text you pass to
  25.   the gadget is copied into an internal buffer, so you can reuse
  26.   the buffer you pass.
  27.  
  28.  
  29. FIXED:
  30.  
  31. - I have expanded which keys get passed on to the application
  32.   when in read-only mode.  Now just about everything.  Only
  33.   certain RAMGIA keys will not get passed.  The keys for Select
  34.   All (RAMIGA-A) and Copy (RAMIGA-C) will always be eaten by
  35.   textfield.  And if UserAlign is turned on, the alignment keys
  36.   will be eaten: RAMIGA-[, RAMIGA-], RAMIGA-=, and RAMIGA-\.
  37.   However, no RAMIGA key will be passed unless PassCommand is
  38.   turned on.
  39.  
  40. - Since TEXTFIELD_ReadOnly mode was put in, the alignment commands
  41.   from inside the editor (RAMIGA-[ = \ ]) didn't work.  They now
  42.   work.
  43.  
  44. - In 3.0 highlighting by dragging could have been excessively
  45.   slow if Workbench's Input prefs had a long double-click time
  46.   selected.  This version fixes that problem.
  47.  
  48. - A longstanding problem where hitting return near the start of
  49.   a line should make the text in front of the cursor move up to
  50.   the previous line has been characterized and fixed.
  51.  
  52. - The TEXTFIELD_Modified flag now has applicability (ISGNU).  It
  53.   will notify when there is a change in the flag.
  54.  
  55. - The TEXTFIELD_Modified flag never worked as far as I can tell.
  56.  
  57. - Some improvments in speed are in this version.  Backspacing
  58.   should be faster now.
  59.  
  60. - The SAS/C autoinit and autoterm functions have been fixed to
  61.   inform the user when the gadget doesn't open.
  62.  
  63.  
  64. Version 3.0
  65. -----------
  66.  
  67. NEW:
  68.  
  69. - The autodoc (and guide file) has been restructured into many more
  70.   sections so that pertinent information can be found more quickly.
  71.  
  72. - TEXTFIELD_TabSpaces is a new tag that when set to 0 does nothing,
  73.   but when set to a number greater than 0 sets how many spaces are
  74.   inserted at the cursor position when the TAB key is pressed.
  75.  
  76. - TEXTFIELD_NonPrintChars is a new tag that allows all characters
  77.   into the text buffer in case you have a font that makes use of
  78.   character position other than just Latin 1 printable.  See the
  79.   autodocs for more information.
  80.  
  81. - TEXTFIELD_GetCopyright() is a new function in the library that
  82.   returns a copyright string ready to use in a requester.  See the
  83.   autodocs and example program for more information on how to use
  84.   it.
  85.  
  86. - Now when you hold the SHIFT key and click in the gadget, text is
  87.   marked from the current cursor position to the place you clicked.
  88.  
  89. - You can double-click to mark whole words, or check the docs for
  90.   what happens when you don't click on words.
  91.  
  92.  
  93. FIXED:
  94.  
  95. - One copy of the 2.2 version made it out with a library version of
  96.   2.1.  A replacement version was made, but did not get picked up.
  97.   The library version is correct in this version.
  98.  
  99. - The fix to speed up clipboard functions in 2.x ended up not
  100.   freeing memory.  It's all fixed now.
  101.  
  102.  
  103. Version 2.2
  104. -----------
  105.  
  106. NEW:
  107.  
  108. - There is now support for HSPascal in the directory of the same
  109.   name.
  110.  
  111.  
  112. FIXED:
  113.  
  114. - It seems that in repairing the delete bug in 2.1 I missed some
  115.   other serious problems.  Backspace after two or more returns now
  116.   works.
  117.  
  118. - Minor: I also left out the main Textfield.info in the 2.1 archive.
  119.  
  120.  
  121. Version 2.1
  122. -----------
  123.  
  124. FIXED:
  125.  
  126. - To scroll you had to be more than one font height away from the
  127.   top or bottom of the gadget.  You only have to be outside the
  128.   gadget now.
  129.  
  130. - Pasting into the gadget is much faster.
  131.  
  132. - A serious bug with ALT BACKSPACE has been repaired.  The bug would
  133.   make it look like the computer was locked up, but really if you
  134.   waited long enough, you could get things back, but it was nasty.
  135.   In fact this is the first serious bug.
  136.  
  137.  
  138. Version 2.0
  139. -----------
  140.  
  141. NEW:
  142.  
  143. - The TextFieldAuto.c and <proto/textfield.h> now contain the
  144.   TextFieldBase like before, and also the TextFieldClass.  This
  145.   keeps the opening and getting of the class hidden for a simpler
  146.   API.  (If you already had a TextFieldClass variable of your own,
  147.   sorry, but you can just remove yours now.)  (SAS/C applicable)
  148.  
  149. - There are now keyboard commands to delete words at a time: Alt-
  150.   Backspace deletes a word at a time to the left of the cursor,
  151.   starting at the current cursor position (if you started at the
  152.   middle of a word, it deletes to the beginning of the word, like
  153.   you would think), Alt-Delete deletes a word at a time to the right
  154.   of the cursor, starting at the current cursor position (again, if
  155.   you are in the middle of a word, it only deletes the last part).
  156.  
  157. - There is a real line delete command now: CTRL-x.  It deletes
  158.   everything on the line.  It's not a command to delete all
  159.   characters between to CRs, though.  It's a visual line delete, not
  160.   conceptual line delete.
  161.  
  162. - Now when you click and drag to scroll the text display, the
  163.   further you are away from the actual gadget bounds, the faster it
  164.   will scroll.
  165.  
  166. - TEXTFIELD_ReadOnly is a new attribute that gives the user a read
  167.   only mode, but the user can still highlight text to use the
  168.   clipboard.  The old way of GA_Disabled and TEXTFIELD_NoGhost can
  169.   still be used for a read only mode without clipboard support.  It
  170.   is important to know that the client (program using the gadget)
  171.   can still add or delete text with TEXTFIELD_Text and
  172.   TEXTFIEL_InsertText.  See the autodoc for more details.  There are
  173.   issues discussed about which keyboard events get passed on to the
  174.   application.
  175.  
  176. - TEXTFIELD_Modified is a new attribute that allows you to tell
  177.   if the text in the gadget has been modified in any way.  It
  178.   to FALSE at creation time, but can be set or read at any time.
  179.   See the autodoc for more details
  180.  
  181. - TEXTFIELD_AcceptChars is a new atrribute that allows you to set
  182.   specifically which characters you will allow in your instance of
  183.   a textfield gadget.  Non-printable characters are still filtered
  184.   for you as usual.  These characters may not be accepted if they
  185.   are also included in the rejection characters.  Also see
  186.   TEXTFIELD_RejectChars.  And check the autodoc for more details.
  187.  
  188. - TEXTFIELD_RejectChars is a new attribute that allows you to set
  189.   specifically which characters to not allow in your instance of a
  190.   textfield gadget.  Non-printable characters are still automatically
  191.   rejected.  Characters listed here are always rejected.  Also see
  192.   TEXTFIELD_AcceptChars.  Check the autodoc for more details.
  193.  
  194. - TEXTFIELD_PassCommand is a flag that if TRUE will cause the gadget
  195.   to pass Right Amiga key sequences on to the application if the
  196.   gadget does not use it.  If FALSE, the gadget just eats the events
  197.   like it always has.  When this is TRUE and a Right Amiga key
  198.   command is received that the gadget does not use, the gadget is
  199.   forced to become inactive (not disabled).
  200.  
  201. - TEXTFIELD_LineLength lets you get a particular line size (the
  202.   number of characters on that line).  You pass the line you want
  203.   and that value gets replaced by that line's length.  See the autodoc
  204.   for some issues when using this.
  205.  
  206. - TEXTFIELD_SelectSize lets you turn on highlighting and set the
  207.   number of character to be highlighted.  It's always the number of
  208.   characters from the current cursor position.  If you pass 0, then
  209.   highlighting is turned off.  You can also get this attribute: 0
  210.   for no highlighting, otherwise returns the number of characters
  211.   highlighted.
  212.  
  213. - TEXTFIELD_MaxSizeBeep allows you to turn on beeping (DisplayBeep())
  214.   if text is entered when the buffer is full (buffer size equals the
  215.   size you passed to TEXTFIEL_MaxSize).
  216.  
  217. - TEXTFIELD_DeleteText allows you to delete text at the current
  218.   cursor position.  Only the size needs to be passed.  This gives
  219.   closure to the text insertion functions.
  220.  
  221. - GA_IntuiText allows you to give the gadget a list of IntuiTexts
  222.   that are rendered relative to the gadget's upper left corner.
  223.  
  224. /* MENU COMMANDS */
  225.  
  226. The following are implemented so that programmers can put them in
  227. a menu to give the user a visual interface to the RAMIGA keys.
  228.  
  229. - TEXTFIELD_Copy if text is highlighted, this will copy it to the
  230.   clipboard.  This command is just like RAMIGA-c when the gadget is
  231.   active.
  232.  
  233. - TEXTFIELD_CopyAll this always copies all the text to the clipboard.
  234.   This command does not affect the state of the gadget.
  235.  
  236. - TEXTFIELD_Cut if text is highlighted, this will erase the text and
  237.   put it on the clipboard.  This command is just like RAMIGA-x when
  238.   the gadget is active.
  239.  
  240. - TEXTFIELD_Paste pastes text from the clipboard to the current
  241.   cursor position.  If there was any highlighted text, it is deleted
  242.   first.  If you need to make sure that text is not highlighted first
  243.   then do set of TEXTFIELD_SelectSize, 0.  This command is just like
  244.   RAMIGA-v when the gadget is active.
  245.  
  246. - TEXTFIELD_Erase will remove all text from the gadget and place it
  247.   in the undo buffer.  This command is just like issuing RAMIGA-e
  248.   when the gadget is active.
  249.  
  250. - TEXTFIELD_Undo will paste from the undo buffer into the gadget,
  251.   just as if the user had hit RAMIGA-u when the gadget is active.
  252.  
  253.  
  254. FIXED:
  255.  
  256. - In V1.2, if you used the ActivateGadget() function on this gadget
  257.   it would get put into highlight mode, and therefore the first
  258.   typed key would be lost.
  259.  
  260. - In previous versions, if you had TEXTFIELD_Partial on, the partial
  261.   line would flicker when editing in the gadget.
  262.  
  263. - In previous versions, the TEXTFIELD_Text attribute did not cause
  264.   the cursor to move to the beginning.  It now does.
  265.  
  266. - TEXTFIELD_ClipStream2 now has a synonym: TEXTFIELD_UndoStream.  The
  267.   new name is easier to remember, but the old name can still be used.
  268.  
  269. - GA_Image used to be offset from the upper left corner of the
  270.   gadget's text box, not the upper left corner of the gadget itself.
  271.   It's now fixed.  (Only applies if border was set to something.)
  272.  
  273. - Apparently there is a bug in RectFill() in pre-3.0 OSes.  I've
  274.   taken measures not to be bit by the bug, which could have shown up
  275.   in previous versions of the gadget.
  276.  
  277. - There was a major effort on my part to update the autodoc to better
  278.   represent the features of the gadget.  It seems that I had really
  279.   only made a sparse effort before, and I apologize.  Each part of the
  280.   main documentation has a section title now.  The document has grown
  281.   by 16K.  I also apologize if you hate reading docs.  And I also
  282.   apologize if you hate apologies.
  283.  
  284. - A bug existed in previous versions that would allow you to have an
  285.   active textfield gadget even if it was disabled.  Specifically, if
  286.   you called ActivateGadget() on a disabled gadget, the gadget would
  287.   go active anyway.  (I thought the OS did that.)  It's fixed.
  288.  
  289. - The command to move backward by words (ALT-CURSOR left) would skip
  290.   a word if the was at the first of a line sometimes.
  291.  
  292.  
  293. Version 1.2
  294. -----------
  295.  
  296. - The name is no longer editor.gadget.  That name was too general,
  297.   as Christoph Feck pointed out.  The name textfield.gadget has
  298.   been chosen as the new name since it more accurately describes
  299.   the gadget's purpose.  So that you will know how to convert, here
  300.   is a list of files that have changed names that would affect
  301.   development:
  302.  
  303.   doc/editor_gc.doc                 ->  textfield_gc.doc
  304.   doc/editor_gc.guide               ->  textfield_gc.guide
  305.   fd/editor.fd                      ->  textfield.fd
  306.   gadgets/editor.gadget             ->  textfield.gadget
  307.   include/gadgets/editor.h          ->  textfield.h
  308.   include/pragmas/editor_pragmas.h  ->  textfield_pragmas.h
  309.   include/proto/editor.h            ->  textfield.h
  310.  
  311.   Also, in your source code I think I've made it easy to change, but
  312.   if you have problems, I'm very sorry.  Here's how: use your text
  313.   editor to replace all occurances of EDIT_ with TEXTFIELD_.
  314.  
  315. - The text pen now defaults to TEXTPEN instead of SHADOWPEN.
  316.  
  317. - The undo buffer is now cleared after you undo so that you don't
  318.   accidentally undo the same thing multiple times.  I should note
  319.   that the undo function just drops the text at the current
  320.   cursor position.
  321.  
  322. - As per request of a few people, the TEXTFIELD_Down event now
  323.   will not let the last line scroll to the top of the gadget, but
  324.   rather it stops at the bottom, like when you cursor down.
  325.  
  326. - There is no highlight or block mode anymore in the old sense
  327.   of turning it on and off.  You only need to click and drag
  328.   to highlight text.  Hitting any key replaces the highlighted
  329.   text like normal, and hitting backspace or delete removes the
  330.   highlighted text like normal.  The cut, copy, and paste keys
  331.   also work normally.  The new features are that the right and
  332.   down cursor keys unhighlight the text and take you to the
  333.   end of the highlighted text.  And the left and up cursor keys
  334.   unhighlight the text and take you to the front of the
  335.   highlighted text.  (This new method can make scrolling with with
  336.   the mouse pointer unfriendly, and you can accidentally delete
  337.   text after scrolling by hitting a single key, but if an undo IFF
  338.   stream is provided then the user can get the text back.  I have
  339.   asked many people whether they prefer single or double-click
  340.   block modes and it has been about 50-50.  This method conforms
  341.   to modern thinking, from what I understand.)
  342.  
  343. - A memory leak that occurred if the library was expunged has
  344.   been fixed.  It was usually about 4k.
  345.  
  346. - TEXTFIELD_CursorPos now will scroll the text to the position the
  347.   cursor is set to if needed.
  348.  
  349.  
  350. Version 1.1
  351. -----------
  352.  
  353. - The EDIT_Text now works in all cases.  It used to only work
  354.   on creation and get methods.
  355.